home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 12 / Cream of the Crop 12 (Part II) / Cream of the Crop 12 (Part II).iso / OS2 / VD08DOC1.ZIP / usr / lib / book / install.inf (.txt) next >
Encoding:
OS/2 Help File  |  1996-02-14  |  19.4 KB  |  417 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Abstract ΓòÉΓòÉΓòÉ
  3.  
  4. This document describes the software requirements for using this library and 
  5. the installation procedure. Everytime when you install a new version of the 
  6. package, you should consult this manual to find out, if anything of importance 
  7. in the installation procedure has changed. Also check this document, if you 
  8. encounter any problems after installing the class libraries. 
  9.  
  10. If you are searching for specific information concerning 
  11.  
  12.      Installation ... you're reading the right manual. 
  13.      Basics of Application development ... read the Tutorial. There you can 
  14.       find a gentle introduction into using this library package for developing 
  15.       OS/2 PM applications. 
  16.      Classes and Methods provided by the library ... You can find special 
  17.       information about the provided classes and methods in the Reference 
  18.       Manual. 
  19.      References on the graphical development tools (database editor, interface 
  20.       editor, project editor) ... Read the appropriate sections in the 
  21.       Application Programming Tools Manual. 
  22.      Literature ... Look in the Literature section in the Tutorial. 
  23.  
  24.  
  25. ΓòÉΓòÉΓòÉ 2. Introduction ΓòÉΓòÉΓòÉ
  26.  
  27. Programming OS/2 PM applications is mostly done using the programming language 
  28. C. Because the OS/2 application programming interface ( API) is in most parts 
  29. object oriented, more and more programmers choose an object oriented 
  30. programming language for their purposes. The most used object oriented 
  31. programming language today is C++. 
  32.  
  33. Because of the mostly static binding and it's nearly completely missing 
  34. run-time system many people are searching for easy-to use alternatives to C++. 
  35. One of the most popular alternatives in object oriented programming to C++ is 
  36. Smalltalk. Due to it's features, such as dynamic binding, messaging,it is 
  37. better suited for developing complex applications using a graphical user 
  38. interface with PM. 
  39.  
  40. There's another object oriented programming language, which is as easy to learn 
  41. as pure C (because it's not much more than C itself), but supports dynamic 
  42. binding just alike Smalltalk. This language is  Objective C. 
  43.  
  44. Objective C only adds some few new features to its "father" C, so it is an easy 
  45. to learn language for C programmers. 
  46.  
  47. Another advantage of Objective C is that an Objective C compiler is part of 
  48. GCC, the GNU C compiler. All two ports of GCC, the EMX port, and the native 
  49. port called GCC/2 support this language. 
  50.  
  51. So---get it and start developing native OS/2 32bit programs using Objective C. 
  52.  
  53. Additionally a simple database class library is provided to enable the 
  54. programmer to access DBase III data files. 
  55.  
  56. This manual describes the requirements for this library package and the 
  57. installation procedure. 
  58.  
  59.  
  60. ΓòÉΓòÉΓòÉ 3. System Requirements ΓòÉΓòÉΓòÉ
  61.  
  62. I assume, you have EMX/GCC (emx 0.9b, gcc 2.7.2 or higher) installed on your 
  63. system. To install the library you need a disk drive formatted using HPFS. 
  64.  
  65. To simplify the task of designing the user interface for your programs, some 
  66. programs are provided. These programs are called the Project Editor for 
  67. managing the files in your projects, Interface Editor to design your program's 
  68. user interface and instantiate and connect the various objects and the Database 
  69. Editor to create empty DBase database files. Additionally, two programs called 
  70. Console, to assist you in debugging your applications, and DBView for viewing 
  71. DBase database files have been implemented. 
  72.  
  73. If you are not content with the tools shipped together with this library 
  74. package, you should use some other dialog editor. The dialog editor must be 
  75. capable of writing .rc files, which can be compiled with rc.exe, the Resource 
  76. Compiler, or ready to use .res files (compiled resources, binary resources). 
  77. You can find a dialog editor for example in the IBM OS/2 developer's toolkit. I 
  78. also tried to use the Guidelines development tool to create .rc files, after 
  79. manually patching the generated files, even this can be used. 
  80.  
  81.  
  82. ΓòÉΓòÉΓòÉ 4. Installation ΓòÉΓòÉΓòÉ
  83.  
  84. To install the class library you have to unpack the compressed archive files 
  85. vd08bin.zipuse Info ZIP 5.0 or newer containing the applications, the libraries 
  86. and the header files, vd08doc1.zip and vd08doc2.zip storing the available 
  87. documentation in both OS/2 INF format usable to be read using "view.exe" and in 
  88. postscript form for printing. vd08smp.zip at last contains the sample programs. 
  89.  
  90. Change the current working directory to the root directory of the HPFS drive 
  91. where you want to install the library to and type 
  92.  
  93.   unzip vd08bin
  94.   unzip vd08doc1
  95.   unzip vd08doc2
  96.   unzip vd08smp
  97.  
  98. This will create some directories: 
  99.  
  100.      \usr\bin contains a single REXX script used to create objects on your 
  101.       desktop for the various programs and documentation files. 
  102.      \usr\bin\PM is the main binary directory for the applications. There you 
  103.       can find the development tools and all files associated with them (e.g. 
  104.       user interface definition files). 
  105.      \usr\doc contains the documentation for this libraries in postscript 
  106.       format. 
  107.      \usr\include\objc contains patched versions of " os2.h". This file had to 
  108.       be patched to work with Objective C. The original files were taken from 
  109.       the emx 0.9b distribution. 
  110.      \usr\include\pm contains the include files used for this class library. 
  111.      \usr\include\util contains the include files used for the utility 
  112.       library. 
  113.      \usr\include\db contains the include files for a simple database library 
  114.       used in one sample program. 
  115.      \usr\lib contains the class library for PM programming ("objcpm.a"), the 
  116.       simple database library (" objcdb.a"). and a library file containing some 
  117.       classes of general usability in the file "objcutil.a" 
  118.      \usr\lib\book contains the documentation for this libraries in OS/2 
  119.       ".inf" format. 
  120.      \usr\lib\icons contains the icons used for the various folder objects. 
  121.      \usr\lib\site-lisp just contains a single file named 
  122.       "objective-C-mode.el". This is a major mode for editing Objective C 
  123.       programs using GNU Emacs. 
  124.      \usr\samples contains the source code for the sample programs. 
  125.  
  126.  After installing the packages you should create objects on your desktop for 
  127.  the various applications and the documentation files. This is accomplished by 
  128.  starting the REXX script "makeobj.cmd" located in \usr\bin. If started without 
  129.  a parameter, the development package is assumed to be installed on drive "c:". 
  130.  If you have installed the package on another hard drive, you must pass the 
  131.  drive letter to "makeobj.cmd" when starting it. 
  132.  
  133.  Type 
  134.  
  135.     makeobj d
  136.  
  137.  if you have installed the various packages on the disk drive "d:". 
  138.  
  139.  Finally, start a text editor program as e.g. GNU Emacs or the system editor E 
  140.  and edit your system's main configuration file "config.sys" located in the 
  141.  root directory of your boot drive. 
  142.  
  143.  Add "<d:>\usr\bin" and "<d:>\usr\bin\PM" to the line setting the PATH 
  144.  variable. Then add "<d:>/usr/include" to the variable OBJC_INCLUDE_PATH to let 
  145.  the Objective C compiler gcc, or in more detail, the preprocessor cpp and the 
  146.  compiler cc1obj, find the libraries' include files. At last you should put 
  147.  "<d:>/usr/lib" in front of the declaration of LIBRARY_PATH for the linker 
  148.  program to find the library files. To be able to view the online documentation 
  149.  it is recommended to add "<d:>\usr\lib\book" to the BOOKSHELF statement, too. 
  150.  To use the resource compiler supplied with the operating system you also have 
  151.  to set the environment variable INCLUDE. E.g. set it to 
  152.  "c:\emx\include;c:\usr\include". If you do not do this, the resource compiler 
  153.  probably will not be able to find the include files. 
  154.  
  155.  The <d:> in the paragraph above should be substituted by the drive letter 
  156.  including a colon where you installed the library package. 
  157.  
  158.  The following example will assume the library package and the applications to 
  159.  be installed on drive "c:". Do not just replace the appropriate lines in your 
  160.  "config.sys" with the ones shown below! 
  161.  
  162.     SET PATH=c:\usr\bin;c:\usr\bin\PM
  163.     SET BOOKSHELF=c:\usr\lib\book
  164.     SET INCLUDE=c:\emx\include;c:\usr\include
  165.     SET OBJC_INCLUDE_PATH=c:/usr/include
  166.     SET LIBRARY_PATH=c:/usr/lib
  167.  
  168.  Using backslashes (\) or slashes (/) in the appropriate places is necessary, 
  169.  otherwise you will not be able to use the development package. 
  170.  
  171.  To make use of the features of the programs you will also have to install a 
  172.  make program. Project Editor expects to find a Unix-compatible make program 
  173.  called "make.exe" somewhere in your search path. It is recommended to install 
  174.  GNU make which can be found on hobbes.nmsu.edu. The make program must support 
  175.  the -C switch for specifying the compilation directory. 
  176.  
  177.  If the make subprocess exits with an error saying that there are too many open 
  178.  files in your environment and you are using a program depending on the emx 
  179.  libraries, you should increase the global file limit by setting the 
  180.  corresponding flag in the EMXOPT variable. To allow a maximum of 255 open 
  181.  files at once, put the line 
  182.  
  183.     SET EMXOPT=-h255
  184.  
  185.  into your "config.sys". make will not be able to find the project directory if 
  186.  you set a default drive to be used for absolute pathnames starting with a 
  187.  slash. Be sure not to set the -r* option for the EMXOPT variable. 
  188.  
  189.  To support editing Objective C programs using the text editor GNU Emacs, a 
  190.  slightly modified major mode for Objective C is supplied in 
  191.  \usr\lib\site-lisp. To use this mode, add "<d:>/usr/lib/site-lisp" to the 
  192.  environment variable EMACSLOADPATH in your "config.sys" file. Then edit the 
  193.  editor's configuration file---either the global configuration file 
  194.  "site-start.el" or your local configuration file ".emacs"---and add 
  195.  
  196.     (load-library objective-C-mode )
  197.  
  198.  to automatically load this major mode, add 
  199.  
  200.     ( \\.h . objective-C-mode)
  201.     ( \\.m . objective-C-mode)
  202.  
  203.  to the list of known file extensions and the modes these files should be 
  204.  edited in. The complete settings could e.g. be 
  205.  
  206.   ;; Settings for some file types
  207.   (setq auto-mode-alist
  208.         (mapcar 'purecopy '(( \\.c . c-mode)
  209.                             ( \\.a . c-mode)
  210.                             ( \\.h . objective-C-mode)
  211.                             ( \\.m . objective-C-mode)
  212.                             ( \\.tex . TeX-mode)
  213.                             ( \\.texi . texinfo-mode)
  214.                             ( \\.bib . bibtex-mode)
  215.                             ( \\.el . emacs-lisp-mode)
  216.                             ( \\.cc . c++-mode))))
  217.  
  218.  Then finish configuring GNU Emacs by setting the global variable 
  219.  user-full-name to your name, e.g. enter 
  220.  
  221.     (setq user-full-name John Doe )
  222.  
  223.  This variable will be used in the automatically generated interface and 
  224.  implementation file headers. 
  225.  
  226.  To get more information on this mode, see the menu bar (a pull down menu 
  227.  called Objective-C will been installed as soon as the major mode is activated) 
  228.  and see the mode's description (M-x describe-mode will do fine). 
  229.  
  230.  It is recommended to compile the lisp source code by using M-x byte-compile in 
  231.  GNU Emacs to produce a byte-compiled ".elc" file which will load a bit faster. 
  232.  
  233.  
  234. ΓòÉΓòÉΓòÉ 4.1. Printing the Documentation ΓòÉΓòÉΓòÉ
  235.  
  236. The documentation consists of four manuals at the moment. In \usr\doc you can 
  237. find postscript versions ready to print on a postscript printer or using a 
  238. postscript interpreter, e.g. Ghostscript. 
  239.  
  240.      The tutorial document can be found in the file "tutorial.ps". It consists 
  241.       of 101 pages. You should at leas print out this manual. The online 
  242.       version might not be suited for your first steps using the libraries and 
  243.       the visual development tools. 
  244.      The reference manual stored in "referenc.ps" consists of 183 pages. 
  245.       Printing this manual is recommended, too. 
  246.      The user's guide to the visual development tools consists of exactly 50 
  247.       pages and can be found in the file "tools.ps". You should at least have a 
  248.       look at the online version of this document. 
  249.      The installation manual, this one, should be printed. It only consists of 
  250.       about 15 pages and contains all information necessary for installing the 
  251.       package. 
  252.  
  253.  Printing postscript files can either be done using a postscript printer or by 
  254.  using a postscript interpreter. For OS/2 a version of Ghostscript accompanied 
  255.  by a simple, yet powerful, graphical user interface for viewing and printing 
  256.  postscript documents is available. 
  257.  
  258.  All documents were formatted for use with A4 paper and are suitable for 
  259.  two-sided printing. To accomplish two-sided printing by just printing the ood 
  260.  pages first, and then printing the even pages on back of the odd ones, split 
  261.  the postscript files using some utilities designed for this special needs. On 
  262.  hobbes.nmsu.edu you can find a port of the psutils capable of doing this. 
  263.  
  264.  The online versions of the documents were generated semi-automatically, there 
  265.  are no links between the topics and references are not resolved. Primarily the 
  266.  documents were intended to be printed. Always keep this in mind when you seem 
  267.  not to be able to find some topic of interest or just complain how 
  268.  ill-organized the documents are for online use. 
  269.  
  270.  
  271. ΓòÉΓòÉΓòÉ 5. Library License ΓòÉΓòÉΓòÉ
  272.  
  273. This libraries are distributed as Shareware. To become a registered user fill 
  274. in the registration form in the file register.txt and send it to me (the 
  275. address can be found in register.txt). You will be sent the registered versions 
  276. of the package as soon as I receive the registration form (and of course after 
  277. I checked with my bank that the registration fee has arrived). 
  278.  
  279. After registration you are automatically registered for all following versions 
  280. of the library until the major version number increases. That means by 
  281. registering this version of the library together with the PM class library (PM 
  282. library: version 0.8; DB library: version 0.6) you are automatically registered 
  283. for all future versions of the PM and DB libraries including version 1.0. 
  284.  
  285. Starting at version 1.1 of the PM or DB library you will have to register newly 
  286. at a special update price. 
  287.  
  288. Support the Shareware distribution concept and register if you like this 
  289. library and want to use it in your own applications. Future Shareware releases 
  290. of this library depend heavily on the will of users to register. So, if no one 
  291. registers this library, surely no further effort will be made in adding 
  292. functionality to the libraries. 
  293.  
  294. As a registered user you are allowed to write applications using these two 
  295. libraries and distribute them at whatever price you think of. 
  296.  
  297. Before registering you are allowed to test this library package as much as you 
  298. like for a trial period of 30 days after first installing this package. You are 
  299. not allowed to sell any of the applications written using this package if you 
  300. have not registered it. 
  301.  
  302. If you continue using the library package after the trial period of 30 days and 
  303. don't register, that's an act of software-piracy. May your bad conscious haunt 
  304. you till the end of your days ;-) 
  305.  
  306. Think of the cheap pricing for this powerful library package and register. 
  307. Future releases will provide better support for Presentation Manager 
  308. programming and fast database access. Supporting various database engines is 
  309. also being thought of. But future Shareware-releases of this software heavily 
  310. depend on the number of registrations made. 
  311.  
  312.  
  313. ΓòÉΓòÉΓòÉ 5.1. Distribution ΓòÉΓòÉΓòÉ
  314.  
  315. This program is Shareware. Feel free to distribute the whole and unmodified 
  316. package to anyone. You are not allowed to change any of the files part of the 
  317. package before distributing, you only are allowed to distribute the package as 
  318. a whole, including all files you received with it. Distribution of the 
  319. registered version is not allowed. Distributing the registered version is an 
  320. act of software-piracy. You probably don't want to do this ;-). 
  321.  
  322. You are allowed to charge a small amount of money for the physical act of 
  323. transferring the library. This amount of money must not exceed twice the cost 
  324. of the storage medium. So, if you for example use floppy disks at a price of 10 
  325. ATSATS is Austrian Schillings each, you are allowed to charge at most 20 ATS 
  326. for copying the disk. That makes a total of 30 ATS (including packaging). 
  327.  
  328. If you are distributing this packages as part of a collection on a compact disk 
  329. (CD), send me a copy of the disk along with pricing information. 
  330.  
  331. If you don't like these distribution restrictions, simply don't distribute the 
  332. program. 
  333.  
  334. It's a shame to see some vendors "selling" Public Domain or Shareware programs 
  335. at a price of 80 ATS per disk (3,5" HD disks are sold at a price between 5 and 
  336. 10 ATS). Especially those vendors are not allowed to distribute the library 
  337. package at their normal copying costs. So, change your pricing policy, or just 
  338. don't distribute this library package. 
  339.  
  340. If you're not sure, whether you are allowed to distribute the package, contact 
  341. me. Any vendors who want to distribute registered versions of the library 
  342. should do the same. 
  343.  
  344.  
  345. ΓòÉΓòÉΓòÉ 5.2. Warranty, Bug Reports, Support ΓòÉΓòÉΓòÉ
  346.  
  347. Well, as you might have thought, there's ABSOLUTELY NO WARRANTY for this 
  348. library package. 
  349.  
  350. If you find any bugs in the library or want me to make improvements, drop a 
  351. short E-Mail message to me at baier@ci.tuwien.ac.at. 
  352.  
  353. If you are a registered user of the application you will be notified via E-Mail 
  354. (Internet)---if possible---when new versions of the library are released. If 
  355. you have any questions concerning the use of the library, working around some 
  356. special problems,send me an E-Mail message, I'll try to do my best and answer 
  357. your question. 
  358.  
  359. Registered users will be sent a version of the programs and libraries not 
  360. limited in any way. If it is not possible to send you the programs (and the 
  361. updates of course) via E-Mail, enclose a self-addressed envelope and a three 
  362. disks (3,5" HD) with your registration form. Do not forget to include return 
  363. postage or international postage reply coupons if you are outside Austria! 
  364.  
  365.  
  366. ΓòÉΓòÉΓòÉ 6. Future of this Development Kit ΓòÉΓòÉΓòÉ
  367.  
  368. The current status of the applications and libraries shipped together with this 
  369. development kit will allow you to create Presentation Manager applications 
  370. mostly by just using the mouse to create windows connect objects and create 
  371. custom classes. 
  372.  
  373. What is still missing in the libraries is support for the "exotic" PM window 
  374. classes as e.g. slider controls. I thought it more necessary to concentrate on 
  375. writing some development tools assisting the application developer in everyday 
  376. routine work and to provide a solid basis for application development by 
  377. graphically creating classes, objects and connecting the various user interface 
  378. and non-user interface objects. 
  379.  
  380. For the near future an interim release of the package can be expected 
  381. supporting support for index files for the database library. Although this is 
  382. being worked on currently, I just got a bit disctracted by writing my diploma 
  383. thesis and by finishing the documentation for this release. 
  384.  
  385. In addition the classes of the database library will be supported by the visual 
  386. development tools simplifying access to DBase database files a lot. 
  387.  
  388. The Project Editor does not interact with the Interface Editor to my 
  389. satisfaction. It should be made possible to automatically update the data in 
  390. the different applications whenever another application changes something of 
  391. relevance; at least the Interface Editor should automatically be notified when 
  392. the Project Editor changes the class definition concerning some interface files 
  393. that are currently worked on. 
  394.  
  395. The database library itself should be extended to let your programs use the 
  396. built-in support for DBase files as well as to access some SQL database engine, 
  397. e.g. DB/2, using the same classes and methods. If you want to use a database 
  398. server together with the libraries, just let me know and I'd be glad to 
  399. implement support---if you can provide enough documentation and the server 
  400. itself for me to test the interface. 
  401.  
  402. The Interface Editor itself should be extendable by the end-user. As the 
  403. simplest way to do this would be using dynamic linking using DLLs I'm trying to 
  404. build DLL-versions of the Objective C runtime library and this package's 
  405. libraries. Does anybody have an idea, why malloc() seems to fail if converting 
  406. the runtime library "objc.a" to a dynamic link library? 
  407.  
  408. The Interface Editor itself will be extended to support more features, e.g. 
  409. creating various menus using some drag & drop actions and connecting menu items 
  410. with action methods. Additionally most other connections not possible at the 
  411. moment---think of simply setting the pages of a notebook control by connecting 
  412. it to the various dialog windows to be displayed---will be supported. 
  413.  
  414. So, once again. If you like this development kit and would like to see it grow 
  415. up in the next months, support developing the package by registering. 
  416.  
  417.